package dao;

import java.sql.Connection;
import java.sql.ResultSet;

import java.sql.PreparedStatement;
import java.util.ArrayList;
import java.util.List;

import com.mysql.jdbc.MySQLConnection;

import util.conexion;


import modelo.OfertasR;
import interfaces.ofertasDAO;

public class MySqlOfertasDAO implements ofertasDAO {

	public void registrarOfertas(OfertasR objofertas){
		Connection cn = conexion.obtenerConexion();
		
		try {
			String sql = "Insert into ofertas(idOfertas,nombre,fechaCaducidad,descripcion,descuentoPorcentual,ubicacion) values(?,?,?,?,?,?)";
							
			PreparedStatement pst = cn.prepareStatement(sql);
			pst.setInt(1, objofertas.getCodigo());
			pst.setString(2,objofertas.getNombre());
			pst.setString(3,objofertas.getFechaCaducidad());
			pst.setString(4,objofertas.getDescripcion());
			pst.setString(5,objofertas.getDescuentoPorcentual());
			pst.setString(6,objofertas.getUbicacion());
				
			pst.executeUpdate();
			cn.close();
			
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	@Override
	public List<OfertasR> listadoDeOfertas() {
		List<OfertasR> lista = new ArrayList<OfertasR>();
		
		Connection cn = conexion.obtenerConexion();
		try {
			
		String sql = "Select * from ofertas";
		PreparedStatement pst = cn.prepareStatement(sql);
		ResultSet rs = pst.executeQuery();
		
		while(rs.next()){
			OfertasR ofer = new OfertasR(
					rs.getInt(1),
					rs.getString(2),
					rs.getString(3), 
					rs.getString(4), 
					rs.getString(5), 
					rs.getString(6));
			lista.add(ofer);
		}
		cn.close();
		
		
		
		} catch (Exception e) {
			e.printStackTrace();
		}
		return lista;
	}
	@Override
	public OfertasR buscarOfertas(Integer codigo) {
		 OfertasR objoferta = null;
		 Connection cn = conexion.obtenerConexion();
		 try {
			String sql = "Select * from Ofertas where idOfertas=?";
			PreparedStatement pst = cn.prepareStatement(sql);
			pst.setInt(1, codigo);
			ResultSet rs = pst.executeQuery();
			if(rs.next()){
				
				objoferta = new OfertasR(rs.getInt(1),
						rs.getString(2),
						rs.getString(3),
						rs.getString(4),
						rs.getString(5),
						rs.getString(6));
			}
			cn.close();
		} catch (Exception e) {
			e.printStackTrace();
		}
		 return objoferta;
		 
		
		
	}
	
	
	
	
}
